package com.neuedu.javase.flow;

/**
 * @author :金山老师
 * project: MyJavaSE
 * 描述 ： 嵌套循环
 * @date : 2025/10/17 14:23 星期五
 *
 * 问题描述：在控制台中用星号"*"输出如下样式的图形
 *
 * * * * * *
 * * * * * *
 * * * * * *
 *
 *
 *
 */
public class NestingLoop {

    public static void main(String[] args) {

        // System.out.println(" * * * * * *");
        // System.out.println(" * * * * * *");
        // System.out.println(" * * * * * *");

        // for (int i = 0; i < 5; i++) {
        //
        //     for (int j = 0; j < 8; j++) {
        //         System.out.print(" * ");
        //     }
        //     System.out.println();
        // }
        //
        //
        // System.out.println("=============乘法口诀=======================");
        // for (int hang = 1; hang <= 9  ; hang++) {
        //
        //     for (int lie = 1; lie <= hang ; lie++) {
        //         System.out.print(" "+hang+"*"+lie+" = "+(hang*lie)+"\t");
        //     }
        //     System.out.println();
        //
        // }


        /**
         * *******
         *  ******
         *   *****
         *    ****
         *     ***
         *      **
         *       *
         *
         *
         *
         */
        // int lines = 6;
        // for (int i = 0; i < lines; i++) {
        //     // 输出空格
        //     for (int j = 0; j < i; j++) {
        //         System.out.print("\t");
        //     }
        //
        //     // 输出 *
        //     for (int j = 0; j < lines  - i; j++) {
        //         System.out.print("*\t");
        //     }
        //     // 换行
        //     System.out.println();
        // }


        /***
         *
         * i=行
         * 0	*
         * 1	*	*									循环列，每行最对不超过行号
         * 2	*	*	*
         * 3	*	*	*	*
         * 4	*	*	*	*	*
         * 5	*	*	*	*	*	*
         * 6     *	*	*	*	*	*   *
         *
         *
         */
        //最多输出多少行  maxLine
        // int maxLine = 8;
        // for (int i = 0; i <= maxLine; i++) {
        //     for (int j = 0; j <=i ; j++) {
        //         System.out.print("*\t");
        //     }
        //     System.out.println();
        // }


        /**
         *
         *
         * max=6
         * i=行											星的数量 j
         * 0	*	*	*	*	*	*					6	maxLine-i
         * 1	*	*	*	*	*						5	maxLine-i
         * 2	*	*	*	*							4
         * 3	*	*	*								3
         * 4	*	*									2
         * 5	*										1
         *
         *
         */
        // int maxLine = 6;
        // for (int i = 0; i <maxLine ; i++) {
        //     for (int j = 0; j < maxLine-i ; j++) {
        //         System.out.print("*\t");
        //     }
        //     System.out.println();
        // }


        /**
         *                  *	*	*	*	*	*
         *                  	*	*	*	*	*	*
         *                   		*	*	*	*	*	*
         *                  			*	*	*	*	*	*
         *                  				*	*	*	*	*	*
         *                  					*	*	*	*	*	*
         */
        // int lines = 6;
        // for (int i = 0; i < lines; i++) {
        //     // 输出空格
        //     for (int j = 0; j < i; j++) {
        //         System.out.print("\t");
        //     }
        //
        //     // 输出 *
        //     for (int j = 0; j < lines; j++) {
        //         System.out.print("*\t");
        //     }
        //     // 换行
        //     System.out.println();
        // }


        /**
         *
         *                                      *	*	*	*	*	*
         *                  				*	*	*	*	*	*
         *                  			*	*	*	*	*	*
         *                  		*	*	*	*	*	*
         *                  	*	*	*	*	*	*
         *                  *	*	*	*	*	*
         */
      /*  int lines = 6;
        for (int i = 0; i < lines; i++) {
            // 输出空格
            for (int j = 0; j < lines - 1 -i ; j++) {
                System.out.print("\t");
            }

            // 输出 *
            for (int j = 0; j < lines; j++) {
                System.out.print("*\t");
            }
            // 换行
            System.out.println();
        }*/


        /**
         *
         *  行数 lines=5
         * 	每行的行号	i	空格的数量	星的数量
         * 		        0	    4	    1= i*2+1
         * 		        1	    3	    3= i*2+1
         * 		        2	    2	    5= i*2+1
         * 		        3	    1	    7= i*2+1
         * 		        4	    0	    9= i*2+1
         *
         *
         *                      				*
         *                      			*	*	*
         *                      		*	*	*	*	*
         *                      	*	*	*	*	*	*	*
         *                      *	*	*	*	*	*	*	*	*

         */
        int lines = 18;
        for (int i = 0; i <lines ; i++) {
            for (int j = 0; j < lines - 1 -i ; j++) {
                System.out.print("\t");
            }
            for (int j = 0; j < i*2+1 ; j++) {
                System.out.print("*\t");
            }
            System.out.println();
        }




    }
}
